using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("RankedPlayToggleButton")]
	public class RankedPlayToggleButton : PegUIElement
	{
		public struct EnabledStateMaterialToggler
		{
			public MeshRenderer m_targetMesh;

			public Material m_enabledMaterial;

			public Material m_wildEnabledMaterial;

			public Material m_disabledMaterial;
		}

		public GameObject m_button => method_3<GameObject>("m_button");

		public Transform m_upBone => method_3<Transform>("m_upBone");

		public Transform m_downBone => method_3<Transform>("m_downBone");

		public HighlightState m_highlight => method_3<HighlightState>("m_highlight");

		public Material m_buttonUpMaterial => method_3<Material>("m_buttonUpMaterial");

		public Material m_buttonDownMaterial => method_3<Material>("m_buttonDownMaterial");

		public Material m_wildButtonUpMaterial => method_3<Material>("m_wildButtonUpMaterial");

		public Material m_wildButtonDownMaterial => method_3<Material>("m_wildButtonDownMaterial");

		public Material m_buttonDisabledMaterial => method_3<Material>("m_buttonDisabledMaterial");

		public MeshRenderer m_glowQuad => method_3<MeshRenderer>("m_glowQuad");

		public List<EnabledStateMaterialToggler> m_materialTogglers => method_3<Class250<EnabledStateMaterialToggler>>("m_materialTogglers")?.method_25();

		public bool m_isDown => method_2<bool>("m_isDown");

		public bool m_isWild => method_2<bool>("m_isWild");

		public Material m_currentDownMaterial => method_3<Material>("m_currentDownMaterial");

		public Material m_currentUpMaterial => method_3<Material>("m_currentUpMaterial");

		public RankedPlayToggleButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public RankedPlayToggleButton(IntPtr address)
			: this(address, "RankedPlayToggleButton")
		{
		}

		public void Up()
		{
			method_8("Up");
		}

		public void Down()
		{
			method_8("Down");
		}

		public void SetFormat(bool isWild)
		{
			method_8("SetFormat", isWild);
		}

		public new void OnOver(InteractionState oldState)
		{
			method_8("OnOver", oldState);
		}

		public new void OnOut(InteractionState oldState)
		{
			method_8("OnOut", oldState);
		}

		public void UpdateMaterialTogglers()
		{
			method_8("UpdateMaterialTogglers");
		}

		public Material GetCorrectMaterial(bool isWild)
		{
			return method_14<Material>("GetCorrectMaterial", new object[1] { isWild });
		}
	}
}
